package com.vanysoft.business.index.dao;

import com.vanysoft.business.index.entity.LoginUserFunction;
import com.vanysoft.business.index.entity.LoginUserinfo;

import java.util.List;
import java.util.Map;

@Deprecated
public interface LoginMapper {
    /**
     * Function Name               queryUserFunctionList
     *
     * @param userId
     * @return
     * @description 查询当前登录用户的所有的权限范围
     * Modify History:              Date             Programmer       Notes
     * ---------        ---------------  ---------
     * 2017年6月5日 下午3:45:29           SharpClaw_x                     Initial
     * *********************************************************************
     */
    List<LoginUserFunction> queryUserBaseAPI(String userId);

    /**
     * Function Name               queryAllAPI
     *
     * @return
     * @description 查询当前系统中所有的API
     * Modify History:              Date             Programmer       Notes
     * ---------        ---------------  ---------
     * 2017年6月5日 下午3:45:29           SharpClaw_x                     Initial
     * *********************************************************************
     */
    List<LoginUserFunction> queryAllAPI();


    /**
     * Function Name               selectUserInfoByUserCode
     *
     * @param userCode
     * @return
     * @description 查询当前用户的基础信息
     * Modify History:              Date             Programmer       Notes
     * ---------        ---------------  ---------
     * 2017年6月28日 下午5:04:14           SharpClaw_x                     Initial
     * *********************************************************************
     */
    LoginUserinfo selectUserInfoByUserCode(String userCode);

    /**
     * Function Name               selectUserInfoByUserId
     *
     * @param userId
     * @return
     * @description 查询当前用户的基础信息
     * Modify History:              Date             Programmer       Notes
     * ---------        ---------------  ---------
     * 2017年6月29日 上午9:38:09           SharpClaw_x                     Initial
     * *********************************************************************
     */
    LoginUserinfo selectUserInfoByUserId(String userId);

    /**
     * Function Name               queryUserOrgList
     *
     * @param userId
     * @return
     * @description 查询用户的部门
     * Modify History:              Date             Programmer       Notes
     * ---------        ---------------  ---------
     * 2017年6月28日 下午5:22:43           SharpClaw_x                     Initial
     * *********************************************************************
     */
    List<Map<String, Object>> queryUserOrgList(String userId);


    /**
     * Function Name               queryUserMenuTree
     *
     * @param userId
     * @return
     * @description 查询用户的menu的code主键
     * Modify History:              Date             Programmer       Notes
     * ---------        ---------------  ---------
     * 2017年6月29日 上午9:45:53           SharpClaw_x                     Initial
     * *********************************************************************
     */
    List<Map<String, Object>> queryUserMenuTreeCodes(String userId);

    /**
     * Function Name               queryUserMenuList
     *
     * @param codeList
     * @return
     * @description 查询菜单
     * Modify History:              Date             Programmer       Notes
     * ---------        ---------------  ---------
     * 2017年6月29日 上午11:34:38           SharpClaw_x                     Initial
     * *********************************************************************
     */
    List<Map<String, Object>> queryMenuByCodes(List<String> codeList);

    /**
     * Function Name               queryAllMenu
     *
     * @return
     * @description 查询系统中的所有菜单
     * Modify History:              Date             Programmer       Notes
     * ---------        ---------------  ---------
     * 2017年6月29日 下午4:51:40           SharpClaw_x                     Initial
     * *********************************************************************
     */
    List<Map<String, Object>> queryAllMenu();

    /**
     * Function Name               queryUserTeamList
     *
     * @param userId
     * @return
     * @description 查询用户的群组
     * Modify History:              Date             Programmer       Notes
     * ---------        ---------------  ---------
     * 2017年6月29日 下午3:19:54           SharpClaw_x                     Initial
     * *********************************************************************
     */
    List<Map<String, Object>> queryUserTeamList(String userId);

    /**
     * Function Name               queryUserTagList
     *
     * @param userId
     * @return
     * @description 差用用户的标签
     * Modify History:              Date             Programmer       Notes
     * ---------        ---------------  ---------
     * 2017年6月29日 下午3:25:07           SharpClaw_x                     Initial
     * *********************************************************************
     */
    List<Map<String, Object>> queryUserTagList(String userId);

    /**
     * Function Name               checkAdminByUserId
     *
     * @param userId
     * @return
     * @description 验证用户是否是administrator角色
     * Modify History:              Date             Programmer       Notes
     * ---------        ---------------  ---------
     * 2017年6月29日 下午4:29:13           SharpClaw_x                     Initial
     * *********************************************************************
     */
    int checkAdminByUserId(String userId);

}